home *** CD-ROM | disk | FTP | other *** search
- Readme of ZXAM Spectrum Emulator v1.6b
- --------------------------------------
-
- This program is a Sinclair ZX Spectrum 48k emulator. It needs WB 3.0+,
- 68020+ and AGA chipset (68020+, WB 2.04+ and any kind of chipset for the
- OCS/ECS version). Take a look at the ZXAM_Spectrum.DOCeng for details about
- features and use of the emulator.
-
- This is the emulator formerly known (in some PD lists) as Spectrum AGA
- (though the emulator has been always named ZXAM!), but with the new OCS/ECS
- version the emulator is no longer AGA-only. Anyway, both versions requires
- 68020+ processor.
-
- This program is SHAREWARE. This means that you can test the program during
- one month. After this period you must send $ US 15 (only CASH) to the author.
- In return you will receive the latest version available (probably the 128k
- version). By doing this contribution, you assure the further development of the
- emulator.
-
- This SHAREWARE version can be freely distributed provided that all the
- associated files are distributed with the program itself. Neither the program
- nor their associated files must be modified in any way. The complete
- distribution package can be compressed with LHA, LHarc or similar for
- distribution convenience. No charge must be made for use or distribution of
- this package. You can upload this package to any BBS, include it in a
- magazine's coverdisk or in a Public Domain library.
-
- To contact with the author:
-
- Mail:
- Antonio J. Pomar Rosselló
- C/ Alférez Cerdá nº 13-bajos
- Palma de Mallorca 07014
- Baleares (Spain)
-
- FidoNet:
- Toni Pomar (2:343/119.80)
- AmigaNet:
- Toni Pomar (39:190/1.80)
- InterNet:
- tpomar@penedes.mazanet.encomix.com
-
- From this point the text contains some addendums, accumulated since version
- 1.3 ß. These addendums are a kind of HISTORY, but more detailed.
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3 ß <<<<<<<<<<<<<<<<
-
- The main motivation for the release of version 1.3 ß is the addition of the
- LOAD/SAVE to tape. This is not a definitive version, but there were many
- requests from people that have sent to me messages to TANIT-BBS. This way the
- LOAD routine can be tested on different configurations, to report any kind of
- problem. Moreover, version 1.3 ß includes some attempts of synchronization for
- stabilize the emulator, but they aren't completed. I need information about the
- result of these attempts in other CPUs (68030/50MHz or 68040). Changes since
- version 1.2 ß are:
-
-
-
- LOAD FROM TAPE: The LOAD routine is a patch of the ROM LOAD routine. This patch
- is partial. That means that 90% of code executed while LOADing is the Z80
- original routine. This way the emulator behaves like the original Spectrum, you
- can see the screen data and attributes loading, can do BREAK by pressing the
- space key, the border shows the old "loading colours" and the FLASH attributes
- are still "FLASHing" during the LOAD. All this works even with an Amiga 1200
- without FAST memory and in colour mode!!.
-
- The LIMITATIONS of the patch are:
-
- -The border lines aren't perfect, but almost. Some border change are
- missed because of some interference between the CPU and the copperlist.
- I could do a perfect border, but the LOAD/SAVE lines aren't worth the
- speed loss.
-
- -The sound from tape can be heared ONLY DURING THE LOAD. That means that
- you will need to search the beginning of the program with the cassette
- disconnected from the computer. A software emulation of the hardware
- connection between MIC and EAR connectors would be a severe slowdown of
- the emulation.
-
- -NEEDS A CUSTOM INTERFACE: although I think that this is not a limitation
- because the interface that I have designed is much more cheaper and
- practical than a sound sampler. This interface plugs into the Joystick
- port. You can plug and unplug it even with the computer switched on. The
- 2 (yes, TWO!) components used in the interface are for protection of the
- computer. If you want, you can make a through-port to connect the
- interface and the joystick at the same time. With this interface you can
- leave the printer connected to the parallel port permanently.
-
- -Because the LOAD is a patch, forget about loading Turbo games (al least,
- for the moment...;-).
-
- -In systems with slower CPUs isn't recommendable to touch the keyboard
- while loading, because any key press/release will cause an interrupt,
- that can produce the dreaded "R Tape loading error". You only need to
- touch the keyboard to do a BREAK.
-
- Well, I have to say that the effectiveness of the patch is much better than
- any prevision. During the first testing of the patch I have connected the
- internal Spectrum +2A cassette to the tape interface, and tried to load
- simultaneously the same program in the +2A and in the Amiga 1200. The aim of
- the test was to find some programs that the +2A can load and the Amiga 1200
- can't, to use it to adjust the timing of the patch. The inesperate results were
- that the computer with problems to load some programs was the +2A, while the
- Amiga 1200 loaded everything that I have throwed to it ;-). I have passed to
- disk 83 programs during the tests.
-
-
-
- SAVE TO TAPE: This is a very easy one. Actually, this is not a patch, otherwise
- it is a REAL TIME SAVE. It is the Z80 that is sending the data to the tape. The
- only thing that I haved to do is to stabilize the sound output. The same
- explained above about the keyboard and border is applied to the SAVE. The data
- saved with the emulator has been loaded succesfully by the emulator itself
- and by my ZX Spectrum +2A.
-
-
-
- SOUND: The emulator includes a "sound stabilizer" that tries to enhance the
- cleaness of the sound. This stabilizer is the real guilty of the REAL TIME
- SAVE, and the pure sound of the BEEP command. Some games sounds now a lot
- better (like the ULTIMATE ones), but some others have slowed down slightly.
- Anyway, this stabilizer is experimental, and will be much better when I can
- test it thoroughly with a computer with a fast CPU.
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3b ß <<<<<<<<<<<<<<<<
-
- I have distributed this version because a user have requested me the last
- version of the emulator (he have seen the horrible 1.2 ß version in the
- Southern Party '94). Because of this I have decided to distribute as 1.3b ß the
- last version assembled (I couldn't send him the 1.3 ß version because it wasn't
- the last and better version!). This version is a small speed increase for
- certain games. It includes a transfer to pass programs from disk to tape, and
- fixes a problem with the Kempston joystick.
-
- For the period from 1-August-94 to 20-August-94 I have not modified the
- emulator because I was "hooked" to a modem that a friend of mine lended to me.
- Very soon I will have my own modem and my own FidoNET address.
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.4 ß <<<<<<<<<<<<<<<<
-
- (this version was never released)
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.5 <<<<<<<<<<<<<<<<
-
- This is the first non-BETA version. That means that the user interface is
- complete, the emulator is stable (for what I know) and the emulation is (if not
- perfect) reasonably complete. This is not a resignation to enhance the
- emulation or the user interface (I NEVER RESIGN!). Is simply a way to say that
- this is a quite complete program.
-
- This version don't enhance the emulation (I am waiting for some FAST memory
- to do very important real time tests). Is an improvement of the user interface.
- The emulator now has an ARexx port, with 44 functions that enables to do nearly
- anything you can think of (save screen as IFF, assemble/disassemble, searching
- of pokes, extract BASIC listings, batch conversions of formats, etc...). In
- future versions maybe there will be step by step executing of Z80 code. The
- ARexx scripts are started from the emulator's window, through a file
- requester.
-
- Now you can compress the spectrum programs in the moment of saving (with
- powerpacker.library), can get separate paths (for loading and saving), the
- filerequesters adapts to the height of the screen, the window is an
- AppWindow, the emulator can load external ROMs (added to version 1.4 ß) and
- commands can be executed before and after the emulation (specially interesting
- for enable/disable the CPU caches).
-
- If you want to code Z80 assembler I recommend you CAZ, a Z80 cross-assembler
- by Carsten Rose (it is in the FrozenFISH CD-ROM). You must do a suitable ARexx
- script for use the CAZ with your favourite text editor and assemble directly to
- the Spectrum's memory at the right address (even with ED you can do it).
-
- With the package ther is an OCS/ECS version of the emulator. This is a test
- version. If there are any problems with it let me know.
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6 <<<<<<<<<<<<<<<<
-
- This is the first SHAREWARE version. This is due to the huge amount of time
- that I am spending on it, and to the post/phone charges that I have to pay to
- distribute the emulator properly.
-
- This version (1.6) adds an ARexx function (ZXAMDisassemble()) that enables
- to disassemble instructions from the Spectrum's memory, the options to redirect
- the LOAD/SAVE routines of the Spectrum's ROM to DISK or TAPE (for multilevel
- games, or BASIC listings, etc...), and the data can be crunched while saving to
- disk, can load games from their Default Tool, or doing multi-selection, can
- load snapshots in Z80 format, fixes some compatibility problems and is more
- friendly with the system.
-
- There are two new ARexx scripts too, one for disassemble parts of the
- spectrum's memory and the other for "explode" a .TAP file in their respective
- .header and .bytes.
-
- This is, probably, the last 48k-only version. At the time of writing this I
- have a pre-version of the emulator with the +3BASIC working... ;-)
-
-
- >>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6b <<<<<<<<<<<<<<<<
-
- Version initially created to fix a bug in the loading of some Z80 snapshots.
- As addition to justify the release of this version, it can load KGB snapshots,
- includes 10 new ARexx functions (one of them is the ZXAMTrace() function that
- enables to run Z80 code step-by-step, and other, the ZXAMBreakPoint() function,
- can put a breakpoint in the spectrum's memory) and enhances some details of the
- emulation (not much...). Along with the emulator there is an ARexx script
- (Monitor.zxam, created by Leonardo Cocaña Galán) that acts as a very basic
- disassembler/monitor. This script shows some of the possibilities of the ARexx
- port.
-
- For the release of this version I had to stop the development of the 128k
- version, but now I am on the way again...
-